package com.cac.demo.newCode.cemop.dto;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;

@Data
@XmlRootElement(name = "MOM_ASS_WORKPACKAGE_PLAN")
public class MomAssWorkPackagePlanDTO {
    /** 工作包主键 */
    private String MOM_ASS_WORKPACKAGE_PLAN_ID;

    /** 工作包计划编号 */
    private String WORK_PACKAGE_PLAN_NO;

    /** 任务编号 */
    private String MISSION_NO;

    /** 机型编码 */
    private String MODLS_ECD;

    /** 产品名称 */
    private String MODLS_NAME;

    /** 批次编号 */
    private String BCH_NO;

    /** 架次编号 */
    private String SORTIE_NO;

    /** 工作包编码 */
    private String WORKPACKAGE_CODE;

    /** 工作包名称 */
    private String WORKPACKAGE_NAME;

    /** 制造分厂编码 */
    private String MANUFA_BCPLT_ECD;

    /** 制造工段编码 */
    private String MANUFA_SECTN_ECD;

    /** 工作包计划开工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PLAN_START_DATE;

    /** 工作包计划完工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PLAN_END_DATE;

    /** 工作包最迟开工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PLAN_LATEST_START_DATE;

    /** 工作包最迟完工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PLAN_LATEST_END_DATE;

    /** 工作包赶工计划开工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PLAN_RUSH_START_DATE;

    /** 工作包赶工计划完工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PLAN_RUSH_END_DATE;

    /** 层次 */
    private String ARRANGEMENT;

    /** AO数量 */
    private int AO_NUMBER;

    /** 是否工作包外协 */
    private String IS_WORK_PACKAGE_WX;

    /** 制造周期(天) */
    private int PRODUCT_CYCLE;

    /** 工作包计划状态：未发布(0)、已发布(1)、日计划已下达(2)、已开工(3)、已完工(4) */
    private String PLAN_EXE_STATUS;

    /** 专业厂评估段位计划开工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date APPRAISE_PLAN_START_DATE;

    /** 专业厂评估段位计划完工 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date APPRAISE_PLAN_END_DATE;

    /** 实际开工日期 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date ACTUAL_START_DATE;

    /** 实际完工日期 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date ACTUAL_END_DATE;

    /** 段位编码 */
    private String MILSTN_ECD;

    /** 段位名称 */
    private String MILSTN_NAME;

    /** 工作包计划状态 0-正常 1-纸质 2-取消 */
    private int WORKPACKAGE_PLAN_STATUS;

    /** 工作包计划发布时间 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date PUBLISH_DATE;

    /** 工作包计划发布人 */
    private String PUBLISH_EMP;

    /** 工位计划表主键 (MCI主键) */
    private String WKSTTN_PLN_TAB_PK;

    /** 所属周 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date BELONG_WEEK;

    /** 所属日 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date BELONG_DAY;
}
